Many modern day computer systems employ computer program vectorization technologies, such as optimizing computer program code compilers to vectorize scalar computer programs. Vectorization involves converting scalar computer program loops that operate on a scalar variable(s)/operand(s) representing a single numerical value to vector computer program loops that operate on a vector variable(s)/operand(s) representing a set of numerical values (e.g., a vector of “k” elements includes “k” values). Conventional compilers use simple variable expansion (i.e., replacing scalar program variables with vector program variables) to perform vectorization on scalar computer program loops that do not have loop-carried dependences.
Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompany written description to refer to the same or like parts.